home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / news / inn1.000 / inn1.4sec-linux-src.tar / inn / HISTORY < prev    next >
Text File  |  1992-08-20  |  12KB  |  259 lines

  1. $Revision: 1.6 $
  2. This file contains a few messages of historical interest.  Some of the
  3. information in these messages is out of date (e.g., you don't need any
  4. other software, ihave/sendme is suported, etc); see the README and
  5. installation manual.
  6.  
  7. The first is a mail message I sent as soon as I got the idea.
  8.  
  9. Six months later I had something to beta, and I posted the second message
  10. to Usenet.  My ship date was optimistic.
  11.  
  12. The third message is the application that I required all beta sites to
  13. fill out.
  14.  
  15. The fourth is a copy of the release notice.
  16.  
  17. From: Rich Salz <rsalz@bbn.com>
  18. Date: Sat, 8 Dec 90 15:23:20 EST
  19. Message-Id: <9012082023.AA13441@litchi.bbn.com>
  20. To: newsgurus@ucsd.edu, nntp-managers@ucbarpa.Berkeley.EDU
  21. Subject: Speed idea.
  22.  
  23. Suppose inews, nntp, "rnews -U", newsunbatch, etc., all just fed their
  24. articles to a single daemon?
  25.  
  26. An idea I started kicking around yesterday.  This is intended only for
  27. sites supporting BSD networking.  I believe that anyone else who needs
  28. this kind of speed would find Cnews good enough.
  29.  
  30. A multi-threaded server that used non-blocking IO to read all incoming
  31. articles on several sockets (don't forker a server, select on the
  32. connection socket will return READOK when a connection request comes in).
  33. All articles are read into memory, then written out to the filesystem
  34. using a single writev call (easy way to splice the path).
  35.  
  36. Hash the active file and compile the sys file so as soon as an article was
  37. accepted we can write out the batchfile entries.  As one special case,
  38. write entries to another socket for articles that should be fed out via
  39. NNTPLINK or something.
  40.  
  41. Put the socket inside a group-access-only directory, so that only trusted
  42. front-ends like inews "rnews -U" etc can connect to it.
  43.  
  44. Oh yeah, for things like nntp use sendmsg/recvmesg to hand off the
  45. feeding site to the demon once it's authenticated the incoming call and
  46. recognized it as an "xfer no" site.
  47.  
  48. I've a few pages of notes and code fragments to type in.
  49.  
  50. No locks of any kind.  active file is mmap'd or periodically flushed.
  51. Keep it all in core and blat it out with a single write.
  52.  
  53. When you want to expire, or add a group, you send a special message
  54. on a control port, or perhaps a sighup/sigusr1 to force it to resynch.
  55.  
  56. Any feedback?
  57.     /r$
  58.  
  59. Path: papaya.bbn.com!rsalz
  60. From: rsalz@bbn.com (Rich Salz)
  61. Newsgroups: news.software.nntp,news.admin,comp.org.usenix
  62. Subject: Seeking beta-testers for a new NNTP transfer system
  63. Message-ID: <3632@litchi.bbn.com>
  64. Date: 18 Jun 91 15:47:21 GMT
  65. Followup-To: poster
  66. Organization: Bolt, Beranek and Newman, Inc.
  67. Lines: 72
  68. Xref: papaya.bbn.com news.software.nntp:1550 news.admin:15565 comp.org.usenix:418
  69.  
  70. InterNetNews, or INN, is a news transport system.  The core part of the
  71. package is a single long-running daemon that handles all incoming NNTP
  72. connections.  It files the articles and arranges for them to be forwarded
  73. to downstream sites.  Because it is long-running, it can be directed to
  74. spawn other long-running processes, telling them exactly when an article
  75. should be sent to a feed.  This can replace the "watch the logfile" mode
  76. of nntplink, for example, with a much cleaner mechanism:  read the
  77. batchfile on standard input.
  78.  
  79. InterNetNews assumes that memory is cheap and fast while disks are slow.
  80. No temporary files are used while incoming articles are being received,
  81. and once processed the entire article is written out using a single
  82. writev(2) call (this includes updating the Path and Xref headers).  The
  83. active file is kept in memory (a compile-time option can be set to use
  84. mmap(2)), and the newsfeeds file is parsed once to build a complete matrix
  85. of which sites receive which newsgroups.
  86.  
  87. InterNetNews uses many features of standard BSD sockets including
  88. non-blocking I/O and Unix-domain stream and datagram sockets.  It is
  89. highly doubtful that the official version will ever provide support for
  90. TLI, DECNET, or other facilities.
  91.  
  92. INN is fast.  Not many hard numbers are available (that is one requirement
  93. of being a beta-site), but some preliminary tests show it to be at least
  94. twice as fast as the current standard NNTP/C News combination.  For
  95. example, Jim Thompson at Sun has had 20 nntpxmits feeding into a 4/490,
  96. and was getting over 14 articles per second, with the CPU 11% utilized.  I
  97. was getting 10 articles/second feeding into a DECstations 3100, with the
  98. program (running profiled!) 50% idle and the load average under .7.  (It
  99. is a scary thing to see several articles filed with the same timestamp.)
  100.  
  101. The sys file format is somewhat different, and has been renamed.  The
  102. arcane "foo.all" syntax is gone, replaced with a set of order-dependant
  103. shell patterns.  For example, instead of "comp,comp.sys.sun,!comp.sys" you
  104. would write "comp.*,!comp.sys.*,comp.sys.sun"; to not get any groups
  105. related to binaries or pictures, you write "!*pictures*,!*binaries*".
  106.  
  107. There are other incompatibilities as well.  For example, ihave/sendme
  108. control messages are not supported.  Also the philosophy is that that
  109. invalid articles are dropped, rather than filed into "junk."  (A log
  110. message is written with the reason, and also sent back to the upstream
  111. feed as part of the NNTP reject reply.)  The active file is taken to be
  112. the definitive list of groups that an article wants to recieve, and if
  113. none of an article's newsgroups are mentioned in the active file, then the
  114. article is invalid, logged, and dropped.
  115.  
  116. The history and log files are intended to be compatible with those created
  117. by C News.  I want to thank Henry and Geoff for their kind permission to
  118. use DBZ and SUBST.  You will need to be running C News expire or a B2.11
  119. expire that has been modified to use DBZ.
  120.  
  121. The InterNetNews daemon does not implement all NNTP commands.  If sites
  122. within your campus are going to post or read news via NNTP, you will need
  123. the standard NNTP distribution.  The daemon will spawn the standard nntpd
  124. if any site not mentioned in its "hosts.nntp" file connects to the TCP
  125. port.  InterNetNews includes a replacement for the "mini-inews" that comes
  126. with the standard NNTP distribution.  This can be used on any machine that
  127. posts news and connects to an NNTP server somewhere; its use is not
  128. limited to INN.  At some point I hope to have a replacement nntpd
  129. optimized for newsreaders, and an NNTP transmission program.  These will
  130. remove the need for any external software beyond the C News expire program.
  131.  
  132. If you would like to beta-test this version, please FTP the file
  133. pub/usenet/INN.BETA from cronus.bbn.com for directions.  It will be a
  134. fairly tightly-screened beta:  DO NOT ASK ME FOR COPIES!  Once the system
  135. is stable, it will be freely redistributable.  I hope to have the official
  136. release by August 7, so that schools can bring the system up before the
  137. semester starts.
  138.     /rich $alz
  139. -- 
  140. Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.
  141. Use a domain-based address or give alternate paths, or you may lose out.
  142.  
  143. Thanks for your interest in InterNetNews.  I want to run a fairly
  144. tightly-controlled beta test of the software before I make it generally
  145. available.  This means that I'm going to screen the sites which will be
  146. able to participate in the test.  Please don't be offended or upset by
  147. this whole procedure.  I want to make the final package as stable as soon
  148. as possible so that the entire net can benefit (it will be freely
  149. redistributable).  I've set up this mechanism because I think it's the
  150. best way for me to get the best test results as quickly as possible.
  151.  
  152. I would therefore appreciate your answers to the following questions.
  153. If you think the answers to some of them will be obvious to me (e.g.,
  154. "Describe your organization" --> "UUNET" :-) then feel free to leave it
  155. blank.  If you have any other feedback or comments, please add them.
  156.  
  157. Email your results to <rsalz@bbn.com>
  158.     /r$
  159.  
  160. What software (transport, batching, readers, etc.) do you currently run?
  161.  
  162. How much experience do you have with Usenet and NNTP?
  163.  
  164. Describe your organization.
  165.  
  166. How do you plan on testing InterNetNews?  Be specific, describing the
  167. machine hardware, any test servers, etc.  [The answers to this one
  168. won't be obvious to me -- you gotta write something.]
  169.  
  170. What are the rough counts of the upstream and downstream feeds, and how do
  171. they break down by category (UUCP, NNTP, etc.)?
  172.  
  173. What special news functions does your server perform (gatewaying,
  174. archiving, etc.)?
  175.  
  176. Do you understand that by participating in the beta-test you agree not to
  177. redistribute the software outside of your administrative domain, and that
  178. you promise to upgrade to the official release in a timely manner?
  179.  
  180. From: Rich Salz <rsalz@uunet.uu.net>
  181. Message-Id: <inn-announce@uunet.uu.net>
  182. Newsgroups: news.software.b,news.protocols.nntp
  183. Subject: Announcing the release of InterNetNews
  184.  
  185. I am pleased to announce the official release of InterNetNews.
  186.  
  187. InterNetNews, or INN, is a news transport system.  The core part of the
  188. package is a single long-running daemon that handles all incoming NNTP
  189. connections.  It files the articles and arranges for them to be forwarded
  190. to downstream sites.  Because it is long-running, it can be directed to
  191. spawn other long-running processes, telling them exactly when an article
  192. should be sent to a feed.
  193.  
  194. INN is a complete Usenet system.  It provides article expiration and
  195. archiving, NNTP transport, and UUCP support.  Nntplink works fine.
  196.  
  197. INN does not include a newsreader.  It does provide a version of the NNTP
  198. reference implementation "clientlib" routines so that rrn and other
  199. newsreaders compile with little trouble.  The next release of xrn will
  200. include INN support.
  201.  
  202. The spool directory is unchanged while the history database is
  203. upwardly-compatible with that of C News and the log file is very similar.
  204. All system configuration files are different.
  205.  
  206. INN assumes that memory is cheap and fast while disks are slow.  No
  207. temporary files are used while incoming articles are being received, and
  208. once processed the entire article is written out using a single system
  209. call (this includes updating the Path and Xref headers).  The active file
  210. is kept in memory, and the newsfeeds file is parsed at start-up to build a
  211. complete matrix of which sites receive which newsgroups.  A paper
  212. describing the implementation was presented at the June 1992 Usenix
  213. conference.
  214.  
  215. INN uses many features of standard BSD sockets including non-blocking
  216. I/O.  It is highly doubtful that the official version will ever provide
  217. support for TLI, DECNET, or other facilities.  Among others, INN beta
  218. sites include ATT Unix System V Release 4, Apple A/UX, BSDI BSD/386 0.3.3,
  219. DEC Ultrix 3.x and 4.x, HP-UX s800 8.0, IBM AIX 3.1 and 3.2, Next NeXT-OS
  220. 2.1, Pyramid OSx 5.1, SCO Xenix 2.3.4, SGI Irix 4.0, Sequent Dynix 3.0.4
  221. and 3.0.12, and Sun SunOS 3.5 and 4.x.
  222.  
  223. Almost all of the beta-testers have reported faster performance and less
  224. load once they installed INN.  Many people find it easy to maintain.
  225.  
  226. A number of sites have graciously agreed to provide FTP access to this
  227. release.  The machine names and directories are listed below.  Within
  228. those directories you will find one or more of the following files:
  229.     README            Intro and unpacking instructions;
  230.      -or-            a copy appears at the end of this
  231.     README.INN        article.
  232.     inn1.0.tar.Z        The full distribution
  233.     inn.usenix.ps.Z        The Usenix paper on INN
  234.  
  235. The sites providing access are:
  236.     cs.utexas.edu        /pub/inn
  237.     ftp.cs.widener.edu    /pub/inn.tar.Z (or wherever).
  238.     ftp.germany.eu.net    /pub/news/inn
  239.     ftp.ira.uka.de        pub/network/news
  240.     ftp.msen.com        /pub/packages/inn
  241.     ftp.uu.net        /pub/news/nntp/inn
  242.     gatekeeper.dec.com    /pub/news/inn
  243.     grasp1.univ-lyon1.fr    /pub/unix/news/inn
  244.     munnari.oz.au        /pub/news/inn
  245.     sparky.Sterling.COM    /news/inn
  246.     src.doc.ic.ac.uk    /computing/usenet/software/transport
  247.     stasys.sta.sub.org    /pub/src/inn
  248.         (Stasys also has anonymous UUCP; contact <fkk@sta.sub.org>.
  249.     ucsd.edu        /INN
  250.     usc.edu            /pub/inn
  251.  
  252. Discussion about INN should be posted to news.software.b and
  253. news.software.nntp.  Email should be sent to <rsalz@uunet.uu.net>.  Please
  254. do NOT send it to <rsalz@osf.org> -- it will only just delay your response
  255. since I will have to forward it to UUNET.
  256.  
  257. The README follows after the formfeed.
  258.     /r$
  259.